package com.kl.modular.worm.service.impl;

import com.kl.modular.base.service.impl.BaseServiceImpl;
import com.kl.modular.worm.dao.mapper.WormPendPageMapper;
import com.kl.modular.worm.dao.model.WormPageRegular;
import com.kl.modular.worm.dao.model.WormPendPage;
import com.kl.modular.worm.service.api.IWormPendPageService;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * 待抓取页面serviceImpl业务实现
 * @author staywood
 * @date 2018-04-18 13:25
 * @(C)  Copyright 
 */
@Service("wormPendPageService")
public class WormPendPageServiceImpl extends BaseServiceImpl<WormPendPageMapper, WormPendPage> implements IWormPendPageService {

    /**
     * 新增或更新
     * @param pendPageUrlList
     */
    public synchronized void addOrUpdate(List<String> pendPageUrlList, String crawlerName) {
        if(pendPageUrlList == null || pendPageUrlList.size() == 0){
            return;
        }
        for(int i = 0;i < pendPageUrlList.size();i++){
            String pendPageUrl = pendPageUrlList.get(i);
            WormPendPage wormPendPage = new WormPendPage();
            wormPendPage.setPageUrl(pendPageUrl);
            int count = selectCountByEntity(wormPendPage);
            if(count != 0){
                continue;
            }
            wormPendPage.setStatus(WormPendPage.STATUS_NORMAL);
            wormPendPage.setCreateTime(new Date());
            wormPendPage.setModifyTime(new Date());
            wormPendPage.setEnabled(false);
            wormPendPage.setWormName(crawlerName);
            insert(wormPendPage);
        }
    }
}
